Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(deps): update jest monorepo to v27 (major) #53620

Merged
merged 7 commits into from
Jul 6, 2021

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Jun 11, 2021

Update jest to v27.

This version of Jest had some breaking changes that required tweaking some tests.

The biggest problem is ETK: it depends on @wordpress/scripts@15.0.1 which is not compatible with Jest 27, so I couldn't migrate apps/editing-toolkit/package.json to use Jest 27.

I'd recommend hiding whitespace changes before reviewing the PR, otherwise some changes look more intimidating than they actually are.


Renovate

WhiteSource Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
babel-jest ^26.3.0 -> ^27.0.6 age adoption passing confidence
jest (source) ^26.4.0 -> ^27.0.6 age adoption passing confidence
jest (source) >=26.4.0 -> >=27.0.6 age adoption passing confidence
jest-config ^26.4.0 -> ^27.0.6 age adoption passing confidence
jest-environment-jsdom ^26.6.2 -> ^27.0.6 age adoption passing confidence

Release Notes

facebook/jest

v27.0.6

Compare Source

Fixes
  • [*] Publish all modules to include the build change in #​11569

v27.0.5

Compare Source

Features
  • [@jest/fake-timers] Flush callbacks scheduled with requestAnimationFrame every 16ms when using legacy timers. (#​11523)
  • [pretty-format] Use globalThis (with polyfill if required) to bring support for esbuild's browser bundling mode (#​11569)
Fixes
  • [jest-core] Support special characters like @, + and () on Windows with --findRelatedTests (#​11548)
  • [@jest/fake-timers] Do not add setImmediate and clearImmediate if they do not exist in the global environment (#​11599)
  • [@jest/reporters] Allow node-notifier@10 as peer dependency (#​11523)
  • [@jest/reporters] Update v8-to-istanbul (#​11523)

v27.0.2

Compare Source

Features
  • [jest-circus] Add some APIs to make it easier to build your own test runner
  • [jest-reporters] Expose the getResultHeader util (#​11460)
  • [jest-resolver] Export resolve* utils for different Jest modules (#​11466)
  • [@jest/test-result] Export Test, TestEvents and TestFileEvent (#​11466)
Fixes
  • [jest-circus] Add missing slash dependency (#​11465)
  • [jest-circus, @​jest/test-sequencer] Remove dependency on jest-runner (#​11466)
  • [jest-config] Resolve config.runner to absolute path (#​11465)
  • [jest-config] Make sure to support functions as config (#​11475)
  • [jest-core] Do not warn about DNSCHANNEL handles when using the --detectOpenHandles option (#​11470)
  • [jest-runner] Remove dependency on jest-config (#​11466)
  • [jest-worker] Loosen engine requirement to >= 10.13.0 (#​11451)

v27.0.1

Compare Source

Fixes
  • [jest-environment-jsdom] Bump version of JSDOM to avoid deprecated request package (#​11442)

v27.0.0

Compare Source

Features
  • [babel-jest] Add async transformation (#​11192)
  • [jest-changed-files] Use '--' to separate paths from revisions (#​11160)
  • [jest-circus] [BREAKING] Fail tests when multiple done() calls are made (#​10624)
  • [jest-circus, jest-jasmine2] [BREAKING] Fail the test instead of just warning when describe returns a value (#​10947)
  • [jest-config] [BREAKING] Default to Node testing environment instead of browser (JSDOM) (#​9874)
  • [jest-config] [BREAKING] Use jest-circus as default test runner (#​10686)
  • [jest-config] Add support for preset written in ESM (#​11200)
  • [jest-config, jest-runtime] Support ESM for files other than .js and .mjs (#​10823)
  • [jest-config, jest-runtime] [BREAKING] Use "modern" implementation as default for fake timers (#​10874 & #​11197)
  • [jest-config Allow passing forceNodeFilesystemAPI through to jest-haste-map (#​11264)
  • [jest-config, jest-haste-map, jest-resolve, jest-runner, jest-runtime, jest-test-sequencer, jest-transform, jest-types] [BREAKING] Add custom HasteMap class implementation config option (#​11107)
  • [jest-core] make TestWatcher extend emittery (#​10324)
  • [jest-core] Run failed tests interactively the same way we do with snapshots (#​10858)
  • [jest-core] more TestSequencer methods can be async (#​10980)
  • [jest-core] Add support for testSequencer written in ESM (#​11207)
  • [jest-core] Add support for globalSetup and globalTeardown written in ESM (#​11267)
  • [jest-core] Add support for watchPlugins written in ESM (#​11315)
  • [jest-core] Add support for runner written in ESM (#​11232)
  • [jest-core] Add support for reporters written in ESM (#​11427)
  • [jest-each] Add support for interpolation with object properties (#​11388)
  • [jest-environment-node] Add AbortController to globals (#​11182)
  • [@jest/fake-timers] Update to @sinonjs/fake-timers to v7 (#​11198)
  • [jest-haste-map] Handle injected scm clocks (#​10966)
  • [jest-haste-map] Add enableSymlinks configuration option to follow symlinks for test files (#​9351)
  • [jest-repl, jest-runner] [BREAKING] Run transforms over environment (#​8751)
  • [jest-repl] Add support for testEnvironment written in ESM (#​11232)
  • [jest-runner] [BREAKING] set exit code to 1 if test logs after teardown (#​10728)
  • [jest-runner] [BREAKING] Run transforms over runner (#​8823)
  • [jest-runner] [BREAKING] Run transforms over testRunner (#​8823)
  • [jest-runner] Possibility to use ESM for test environment (11033)
  • [jest-runner] Add support for testRunner written in ESM (#​11232)
  • [jest-runtime] Detect reexports from CJS as named exports in ESM (#​10988)
  • [jest-runtime] Support for async code transformations (#​11191 & #​11220)
  • [jest-reporters] Add static filepath property to all reporters (#​11015)
  • [jest-snapshot] [BREAKING] Make prettier optional for inline snapshots - fall back to string replacement (#​7792 & #​11192)
  • [jest-snapshot] [BREAKING] Run transforms over snapshotResolver (#​8751)
  • [jest-transform] Pass config options defined in Jest's config to transformer's process and getCacheKey functions (#​10926)
  • [jest-transform] Add support for transformers written in ESM (#​11163)
  • [jest-transform] [BREAKING] Do not export ScriptTransformer class, instead export the async function createScriptTransformer (#​11163)
  • [jest-transform] Async code transformations (#​9889)
  • [jest-transform] Support transpiled transformers (#​11193)
  • [jest-transform] [BREAKING] requireAndTranspileModule always return a Promise, and the third parameter type is changed to RequireAndTranspileModuleOptions which accept applyInteropRequireDefault option (#​11232)
  • [jest-transform] [BREAKING] createTranspilingRequire return function which return a Promise now (#​11232)
  • [jest-util] add requireOrImportModule for importing CJS or ESM (#​11199)
  • [jest-util] add applyInteropRequireDefault option on requireOrImportModule (#​11232)
  • [jest-watcher] Added support for clearing the line when <C-u> is pressed in a watch mode pattern prompt (#​11358)
  • [jest-worker] Add support for custom task queues and adds a PriorityQueue implementation. (#​10921)
  • [jest-worker] Add in-order scheduling policy to jest worker (10902)
  • [pretty-format] Better print for sparse arrays (11326)
  • [pretty-print] Add option printBasicPrototype which determines whether or not the prototype should be printed for raw objects or arrays (#​11441)
Fixes
  • [babel-plugin-jest-hoist] Add __dirname and __filename to whitelisted globals (#​10903)
  • [expect] [BREAKING] Revise expect.not.objectContaining() to be the inverse of expect.objectContaining(), as documented. (#​10708)
  • [expect] [BREAKING] Make toContain more strict with the received type (#​10119 & #​10929)
  • [expect] [BREAKING] matcherResult on JestAssertionError are now strings rather than functions (#​10989)
  • [jest-circus] Fixed the issue of beforeAll & afterAll hooks getting executed even if it is inside a skipped describe block #​10451
  • [jest-circus] Fix testLocation on Windows when using test.each (#​10871)
  • [jest-cli] Use testFailureExitCode when bailing from a failed test (#​10958)
  • [jest-cli] Print custom error if error thrown from global hooks is not an error already (#​11003)
  • [jest-cli] Allow running multiple "projects" from programmatic API (#​11307)
  • [jest-cli] Fix missing collectCoverage after init (#​11353)
  • [jest-cli, jest-config, jest-types] Move all default values into jest-config (#​9924)
  • [jest-config] [BREAKING] Change default file extension order by moving json behind ts and tsx (10572)
  • [jest-console] console.dir now respects the second argument correctly (#​10638)
  • [jest-core] Don't report PerformanceObserver as open handle (#​11123)
  • [jest-core] Use WeakRef to hold timers when detecting open handles (#​11277)
  • [jest-core] Correctly detect open handles that were created in test functions using done callbacks (#​11382)
  • [jest-core] Do not collect RANDOMBYTESREQUEST as open handles (#​11278)
  • [jest-core] Wait briefly for open handles to close before flagging them when using --detectOpenHandles (#​11429)
  • [jest-diff] [BREAKING] Use only named exports (#​11371)
  • [jest-each] [BREAKING] Ignore excess words in headings (#​8766)
  • [jest-each] Support array index with template strings (#​10763)
  • [jest-each] Interpolate %% correctly (#​11364)
  • [jest-each] Fix wrong interpolation when the value of array contains multiple % (#​11364)
  • [jest-environment] [BREAKING] Drop support for runScript for test environments (#​11155)
  • [jest-environment-jsdom] Use inner realm’s ArrayBuffer constructor (#​10885)
  • [jest-environment-jsdom] [BREAKING] Remove Node globals setImmediate and clearImmediate #​11222
  • [jest-get-type] [BREAKING] Convert to ES Module (#​11359)
  • [jest-globals] [BREAKING] Disallow return values other than a Promise from hooks and tests (#​10512)
  • [jest-globals] [BREAKING] Disallow mixing a done callback and returning a Promise from hooks and tests (#​10512)
  • [jest-haste-map] Vendor NodeWatcher from sane (#​10919)
  • [jest-jasmine2] Fixed the issue of beforeAll & afterAll hooks getting executed even if it is inside a skipped describe block when it has child tests marked as either only or todo #​10451
  • [jest-jasmine2] Fixed the issues of child tests marked with only or todo getting executed even if it is inside a skipped parent describe block #​10451
  • [jest-jasmine2] Wrap all test functions so they open handles that were created in test functions using done callbacks can be detected (#​11382)
  • [jest-reporter] Handle empty files when reporting code coverage with V8 (#​10819)
  • [jest-resolve] Replace read-pkg-up with escalade package (#​10781)
  • [jest-resolve] Disable jest-pnp-resolver for Yarn 2 (#​10847)
  • [jest-runtime] [BREAKING] Do not inject global variable into module wrapper (#​10644)
  • [jest-runtime] [BREAKING] remove long-deprecated jest.addMatchers, jest.resetModuleRegistry, and jest.runTimersToTime (#​9853)
  • [jest-runtime] Fix stack overflow and promise deadlock when importing mutual dependant ES module (#​10892)
  • [jest-runtime] Prevent global module registry from leaking into isolateModules registry (#​10963)
  • [jest-runtime] Refactor to prevent race condition when linking and evaluating ES Modules (#​11150)
  • [jest-runtime] Throw correct error when attempting to load ESM via require (#​11260)
  • [jest-runtime] Do not cache modules that throw during evaluation (#​11263)
  • [jest-transform] Show enhanced SyntaxError message for all SyntaxErrors (#​10749)
  • [jest-transform] [BREAKING] Refactor API to pass an options bag around rather than multiple boolean options (#​10753)
  • [jest-transform] [BREAKING] Refactor API of transformers to pass an options bag rather than separate config and other options (#​10834)
  • [jest-types] Fix Config.ts projects types (#​11285)
  • [jest-util] Replace micromatch with picomatch to fix issues with negated globs (#​11287)
  • [jest-validate] Use en-US locale to avoid case conversion problems while validating CLI options on machines with some certain locales(e.g. Turkish) set as default locale. (#​11412)
  • [jest-worker] [BREAKING] Use named exports (#​10623)
  • [jest-worker] Do not swallow errors during serialization (#​10984)
  • [jest-worker] Handle ERR_IPC_CHANNEL_CLOSED errors properly (#​11143)
  • [pretty-format] [BREAKING] Convert to ES Modules (#​10515)
  • [pretty-format] Only call hasAttribute if it's a function (#​11000)
  • [pretty-format] Handle jsdom attributes properly (#​11189)
  • [pretty-format] Import pretty-format using named imports (#​11360)
Chore & Maintenance
  • [*] [BREAKING] Only support Node LTS releases and Node 15 (#​10685)
  • [*] [BREAKING] Add exports field to all package.jsons (#​9921)
  • [*] Make it easier for Jest's packages to use the VM escape hatch (#​10824)
  • [*] [BREAKING] Remove deprecated mapCoverage (#​9968)
  • [babel-jest] [BREAKING] Migrate to ESM (#​11193)
  • [docs] Correct example using browser-resolve (#​11140)
  • [docs] Clarify timers configuration property (#​11376)
  • [jest, jest-core] [BREAKING] Replace TestScheduler export with createTestScheduler (#​11427)
  • [jest-config] [BREAKING] Remove enabledTestsMap config, use filter instead (#​10787)
  • [jest-console] [BREAKING] Move root into config and take GlobalConfig as mandatory parameter for getConsoleOutput (#​10126)
  • [jest-console] Export LogEntry (#​11017)
  • [jest-fake-timers] Clarify global behavior of jest.useFakeTimers and jest.useRealTimers (#​10867)
  • [jest-haste-map] [BREAKING] Migrate to ESM (#​10875)
  • [jest-haste-map] [BREAKING] Remove support for deprecated option ignorePattern as function (#​10348)
  • [jest-jasmine2] [BREAKING] Migrate to ESM (#​10906)
  • [jest-jasmine2] [BREAKING] Remove unused options argument from Env constructor (#​10240)
  • [jest-repl, jest-runtime] [BREAKING] Move the jest-runtime CLI into jest-repl (#​10016 & #​10925)
  • [jest-resolve] [BREAKING] Migrate to ESM (#​10688)
  • [jest-resolve-dependencies] [BREAKING] Migrate to ESM (#​10876)
  • [jest-mock] [BREAKING] Migrate to ESM (#​10887)
  • [jest-reporters] [BREAKING] Make node-notifier a peer dependency (#​10977)
  • [jest-resolve, jest-runtime] [BREAKING] Use Maps instead of objects for all cached resources (#​10968)
  • [jest-runner] [BREAKING] Migrate to ESM (#​10900)
  • [jest-runtime] [BREAKING] Remove deprecated and unused getSourceMapInfo from Runtime (#​9969)
  • [jest-transformer] [BREAKING] Remove unused isCoreModule option (#​11166)
  • [jest-util] No longer checking enumerable when adding process.domain (#​10862)
  • [jest-validate] [BREAKING] Remove recursiveBlacklist option in favor of previously introduced recursiveDenylist (#​10650)
  • [website] Replace 'Github' with 'GitHub' (#​11279)
  • [website] Remove a language code from the link to the Node.js website (#​11282)
  • [website] Remove a duplicated word (#​11281)
  • [website] Add french to website (#​11361)
Performance
  • [jest-resolve] Cache reading and parsing of package.jsons (#​11076)
  • [jest-runtime, jest-transform] share cacheFS between runtime and transformer (#​10901)
  • [jest-runtime] Load chalk only once per worker (#​10864)
  • [jest-worker] Fix memory leak of previous task arguments while no new task is scheduled (#​11187)

Configuration

📅 Schedule: At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Renovate will not automatically rebase this PR, because other commits have been found.

🔕 Ignore: Close this PR and you won't be reminded about these updates again.


  • If you want to rebase/retry this PR, check this box.

This PR has been generated by WhiteSource Renovate. View repository job log here.

@renovate renovate bot requested a review from a team as a code owner June 11, 2021 07:23
@matticbot matticbot added the [Status] Needs Review The PR is ready for review. This also triggers e2e canary tests and wp-desktop tests automatically. label Jun 11, 2021
@matticbot
Copy link
Contributor

matticbot commented Jun 11, 2021

@matticbot
Copy link
Contributor

This PR does not affect the size of JS and CSS bundles shipped to the user's browser.

Generated by performance advisor bot at iscalypsofastyet.com.

@scinos
Copy link
Contributor

scinos commented Jun 11, 2021

Blocked until testing-library/react-testing-library#918 is solved

@renovate renovate bot force-pushed the renovate/major-jest-monorepo branch 2 times, most recently from f7191eb to 39a8c0d Compare June 22, 2021 12:05
@renovate renovate bot changed the title fix(deps): update jest monorepo (major) fix(deps): update jest monorepo to v27 (major) Jun 22, 2021
@renovate renovate bot force-pushed the renovate/major-jest-monorepo branch 5 times, most recently from 88a78f5 to 61f794b Compare June 28, 2021 18:13
@renovate renovate bot force-pushed the renovate/major-jest-monorepo branch from 61f794b to 7da6f93 Compare July 5, 2021 13:29
@scinos scinos requested a review from a team July 6, 2021 05:30
@scinos scinos self-assigned this Jul 6, 2021
Copy link
Member

@tyxla tyxla left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 👍 Nice work 👏

client/server/middleware/test/logger.js Outdated Show resolved Hide resolved
Co-authored-by: Marin Atanasov <8436925+tyxla@users.noreply.github.com>
@matticbot
Copy link
Contributor

This PR modifies the release build for editing-toolkit

To test your changes on WordPress.com, run install-plugin.sh editing-toolkit renovate/major-jest-monorepo on your sandbox.

To deploy your changes after merging, see the documentation: PCYsg-mMA-p2

Copy link
Member

@WunderBart WunderBart left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good! 🚀

@scinos scinos merged commit f4a2c63 into trunk Jul 6, 2021
@scinos scinos deleted the renovate/major-jest-monorepo branch July 6, 2021 12:00
@github-actions github-actions bot removed the [Status] Needs Review The PR is ready for review. This also triggers e2e canary tests and wp-desktop tests automatically. label Jul 6, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants